﻿package main

import (
    "fmt"
    "bufio"
    "os"
)

func is_palindrome(str string) bool {
    s := []rune(str)  // 默认字符是按[]byte遍历的，这样转一下，就支持中文了
    length := len(s)
    for i := 0; i < length/2; i++ {
        if s[i] != s[length-1-i]{
            return false
        }
    }
    return true
}

func main() {
    fmt.Print("请输入一个字符串：")
    //fmt.Scanf("%s", &s)  // 这种不支持带空格的字符串输入
    reader := bufio.NewReader(os.Stdin)
    str, _, err := reader.ReadLine()
    if err != nil {
        fmt.Println("error:", err)
        return
    }
    s := string(str)  // str 的类型是[]byte，里面是一个个的字符
    if is_palindrome(s) {
        fmt.Println(s, "是回文")
    } else {
        fmt.Println(s, "不是回文")
    }
}